# coding: utf-8

"""
    字典：类似于java的Map
    1.字典是无序的对象集合，使用键-值( key-value )存储，具有极快的查找速度。
    2.键(key)必须使用不可变类型。
    3.同一个字典中，键(key)必须是唯一的。
    说明：
    1.字典和列表一样，也能够存储多个数据。
    2.列表中找某个元素时，是根据下标进行的。
    3.字典中找某个元素时，是根据键查找值。
    4.字典的每个元素由2部分组成，键:值。
"""
"""
    字典的应用场景:
    * 使用 多个键值对，存储 描述一个 `物体` 的相关信息 —— 描述更复杂的数据信息
    * 将 多个字典 放在 一个列表 中，再进行遍历，在循环体内部针对每一个字典进行 相同的处理
"""
# 1.字典的定义
info = {'name': 'AnonyEast', 'id': 1018, 'age': 20, 'sex': 'm', 'address': '四川成都'}

# 2.字典的访问:根据键找值
# (1)下标形式访问，这种方式访问不存在的键会报错
print(info['name'])  # AnonyEast
print(info['age'])  # 20
# print(info['GPA'])  # 访问不存在的键会报错，程序终止

# (2)get方法访问(推荐)，这种方式找不到键默认返回None，也可以指定默认值
print(info.get("address"))  # 四川成都
print(info.get('GPA'))  # None
# 指定默认值0.33
print(info.get('GPA', 0.33))  # 0.33
